package ComoViajo;

import java.util.ArrayList;

public abstract class CriterioViajeStrategy {
	public abstract Viaje obtener(ArrayList<Viaje> viajes);
	
	protected void enviarNotificacion(Viaje viaje) {
		if((viaje==null)||viaje.getEstaciones().isEmpty()) return;
		
		EstacionInterface aux = null;
		for (EstacionInterface e : viaje.getEstaciones()) {
			if((aux == null)||(!e.estaEnLaMismaLineaQue(aux))) {
				e.notificar(viaje);
			}
			
			aux = e;
		}
		
		// notificar a las zonas
		for (Zona z : Configuracion.getZonas()) {
			z.loguear(viaje);
		}
	}
}
